package com.hr.user.dao;

import java.util.List;

import com.hr.user.domain.User;
import com.hr.utils.PageBean;

/**
 * UserDao数据库持久层，使用数据库持久层完成所有与数据库有关的操作
 * @author 杨谦
 * @date 2015-9-20
 *
 */
public interface UserDao {
	/**
	 * 通过员工名进行查找
	 * @param username
	 * @return
	 */
	public User findByUsername(String username);
	/**
	 * 通过UUDI进行查找
	 * @param uuid
	 * @return
	 */
	public User findByUUID(String uuid);
	/**
	 * 查找所有员工信息
	 * @return
	 */
	public List<User> queryAll();
	/**
	 * 通过传入User对象添加员工信息
	 * @param user
	 */
	public void addUser(User user);
	/**
	 * 修改员工信息
	 * @param user
	 */
	public void updatePassword(User user,String password);
	/**
	 * 分页查询所有员工信息
	 * @return
	 */
	public PageBean<User> queryAll_Page(int PageCurrent,int PageSize);
	/**
	 * 根据员工编号删除员工信息
	 * @param user_id
	 */
	public void deleteByUserID(String user_id);
	/**
	 * 根据员工号对员工进行信息修改
	 * @param user
	 */
	public void updateUser(User user);
	/**
	 * 数据库中的条件查询
	 * @param pageCurrent
	 * @param pageSize
	 * @param username
	 * @param dept_id
	 * @return
	 */
	public PageBean<User> queryAll_Page_Condition(int pageCurrent, int pageSize,
			String username, String dept_id);
	/**
	 * 透过部门号查询自己部门下的员工信息
	 * @param PageCurrent
	 * @param PageSize
	 * @param dept_id
	 * @return
	 */
	public PageBean<User> queryAll_PageAndDept(int PageCurrent, int PageSize,
			String dept_id);
}
